<?php 
class BackupController extends Controller{
	public function __init(){
	}

	public function index(){
		$this->display();
	}

	//备份数据
	public function backup(){
		$result=Backup::backup(//Backup::backup($args = array());
			array(
				'size'=>200,//每个卷200KB
				'dir'=>C("DB_BACKUP") . date("Ymdhis")
				//备份文件存放目录，不填则使用 C('DB_BACKUP')
			)
		);
		if($result['status']=='success'){//备份完成以后
			$this->success($result['message'], U('index'));
		}else{//备份中,每 0.2 秒备份一个卷
			$this->success($result['message'],$result['url'],0.2);
		}
	}

	//数据恢复---显示备份列表
	public function backupList(){
		$dirs=Dir::tree('Backup');//遍历目录
		// 获得目录下的所有文件及目录内容
		$this->assign('dirs',$dirs);
		$this->display();
	}

	//数据还原
	public function recovery(){
		$dir=C("DB_BACKUP") .Q("dir");//获取目标文件
		$result=Backup::recovery(array('dir'=>$dir));
		if($result['status']=='success'){//还原完成
			$this->success($result['message'],U('index'));
		}else{//还原中
			$this->success($result['message'],$result['url'],0.2);
		}			
	}

	//删除备份
	public function del(){
		$dir=C("DB_BACKUP") .Q("dir");//获取目标文件
		if(Dir::del($dir)){//删除整个备份目录
			$this->success('删除成功');
		}else{//还原中
			$this->error('删除失败..');
		}	
	}
}//数据备份还原类结束